SQL injection是一種SQL注入攻擊的方式,所謂的SQL就是結構化查詢語言(Structured Query Language),使用於關聯式資料庫,是一種非常常見且熱門的程式語言。這種攻擊方式是使用SQL語法指令,嘗試修改SQL原本的語法,修改成自己編寫執行的語法,使其攻擊成功進入後端存取,造成資料庫伺服被惡意攻擊入侵,這屬於常見的攻擊手法之一。SQL injection常見的攻擊類型有很多種,像是UNION、Error-based,除了修改SQL語法之外,也能透過頁面輸出SQL錯誤訊息而加以判斷等,都是一些攻擊的手段之一,而會造成這種情況的攻擊原因也有很多因素,像是沒有過濾掉使用者所輸入的資料,使攻擊者能成功向伺服器端送出特殊字元與惡意的語法進行攻擊,而在預防的部分也有像是,在使用者輸入資料時,加以限制特殊字元的處理,以及頁面顯示SQL的錯誤訊息要盡量避免,編寫的程式碼錯誤訊息會顯示出相關的資料庫表格欄位等資訊。大致上要預防攻擊者朝這些比較大的風險問題和其他的可能性問題進行攻擊。